package com.wicket.okrframework.integration.dto;

import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddPositionReqDto
 * @使用场景
 */
@Data
public class AddPositionReqDto extends BaseDto implements Serializable {

  /**
   * 冗余职务名称
   */
  @NotNull(message = "冗余职务名称不能为空")
  @ApiModelProperty("冗余职务名称")
  private String positionIdName;

  /**
   * 关联职务名称ID
   */
  @NotNull(message = "关联职务名称ID不能为空")
  @ApiModelProperty("关联职务名称ID")
  private String positionIdNameId;

  /**
   * 职务性质 PRINCIPAL:正职 DEPUTY:副职 MEMBER:成员
   */
  @NotNull(message = " 职务性质不能为空")
  @ApiModelProperty(" 职务性质")
  private String positionType;

  /**
   * 职务级别ID
   */
  @ApiModelProperty("职务级别ID")
  private String positionGradeId;

  /**
   * 关联岗位ID
   */
  @ApiModelProperty("关联岗位ID")
  private String stationId;

  /**
   * 职务类别字典ID
   */
  @ApiModelProperty("职务类别字典ID")
  private String typeDictionaryId;

  /**
   * 职务职责概述
   */
  @ApiModelProperty("职务职责概述")
  private String positionDutyDesc;

  /**
   * 职务目标概述
   */
  @ApiModelProperty("职务目标概述")
  private String positionTargetDesc;

  /**
   * 职务编号
   */
  @NotNull(message = "职务编号不能为空")
  @ApiModelProperty("职务编号")
  private String positionNumber;

  /**
   * 所属对象实例ID
   */
  @NotNull(message = "所属对象实例ID不能为空")
  @ApiModelProperty("所属对象实例ID")
  private String orgEntityId;

  /**
   * 是否可用于分管领导职务 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否可用于分管领导职务不能为空")
  @ApiModelProperty("是否可用于分管领导职务")
  private String isOrgPosition;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
